﻿using System;
using System.ServiceModel;
using System.Collections.Generic;
using com.clinica.business.entities;
using com.clinica.business.BE.estadistica;
using com.clinica.business.BE.gesliq;
using com.clinica.business.BE.actdocpago;
using com.clinica.business.BE.actcliente;


/****************************************************************************************
 * Sistema    : Sistema de Gestión de Clinica
 * Modulo     : Facturación y Presupuestos
 * Descripción: 
 * Autor      : JPEREZ
 * Fecha      : 2011-06-01
 ****************************************************************************************/

namespace com.clinica.business.BL.interfaces.estadistica
{
    [ServiceContract(Namespace = "http://com.clinica.business.BL.interfaces.estadistica", Name = "ICiaSegurosBL", SessionMode = SessionMode.Allowed)]
    public interface ICiaSegurosBL
    {
        [OperationContract(IsTerminating = false, IsInitiating = true, IsOneWay = false, AsyncPattern = false, Action = "ObternerReporteSeguros")]
        List<CiaSegurosBE> ObternerReporteSeguros(CiaSegurosBE request);

        [OperationContract(IsTerminating = false, IsInitiating = true, IsOneWay = false, AsyncPattern = false, Action = "ObternerReporteLiquidacion")]
        List<LiquidacionBE> ObternerReporteLiquidacion(LiquidacionBE request, DateTime dtFecha_Inicio, DateTime dtFecha_Fin);

        [OperationContract(IsTerminating = false, IsInitiating = true, IsOneWay = false, AsyncPattern = false, Action = "ObternerReporteDocumentoPago")]
        List<DocumentoPagoBE> ObternerReporteDocumentoPago(DocumentoPagoBE request, DateTime dtFecha_Inicio, DateTime dtFecha_Fin);

        [OperationContract(IsTerminating = false, IsInitiating = true, IsOneWay = false, AsyncPattern = false, Action = "ObternerReporteDocumentoPagoXCliente")]
        List<DocumentoPagoBE> ObternerReporteDocumentoPagoXCliente(DocumentoPagoBE request, DateTime dtFecha_Inicio, DateTime dtFecha_Fin);

        [OperationContract(IsTerminating = false, IsInitiating = true, IsOneWay = false, AsyncPattern = false, Action = "ObternerReporteDocumentoPagoXCia")]
        List<DocumentoPagoBE> ObternerReporteDocumentoPagoXCia(DocumentoPagoBE request, DateTime dtFecha_Inicio, DateTime dtFecha_Fin);

        [OperationContract(IsTerminating = false, IsInitiating = true, IsOneWay = false, AsyncPattern = false, Action = "ObternerCliente")]
        List<ClienteBE> ObternerCliente(int tipo, string Nombre);
    }
}
